#include <iostream>
#include <unordered_map>
#include <unordered_set>
using namespace std;

unordered_map<string,string> has;
unordered_map<string,int> cnt;
int n,q;
int main()
{
	cin>>n;
	while(n--)
	{
		string f;
		cin>>f;
		unordered_set<string> ts;
		for(int i=0;i<f.size();i++)
		{
			for(int j=0;j<f.size();j++)
			{
				string tmp=f.substr(i,j-i+1);
				ts.insert(tmp);
			}
		}
		
		for(auto& t:ts)
		{
			cnt[t]++;
			has[t]=f;
		}
	}
	
	cin>>q;
	while(q--)
	{
		string f;
		cin>>f;
		cout<<cnt[f]<<' ';
		if(!cnt[f])
			cout<<'-'<<endl;
		else 
			cout<<has[f]<<endl;
	}
	return 0;
}
